From edd2b90d12b9a0a0a7af9a40620eb25683220926 Mon Sep 17 00:00:00 2001 From: Steven Hand Date: Thu, 24 Aug 2006 14:07:01 +0100 Subject: [PATCH] Ensure get_dom_domid() terminates even when /local/domain//name is not present. Signed-off-by: Steven Hand --- tools/blktap/lib/xs_api.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tools/blktap/lib/xs_api.c b/tools/blktap/lib/xs_api.c index 44abcf2080..8dd491a800 100644 --- a/tools/blktap/lib/xs_api.c +++ b/tools/blktap/lib/xs_api.c @@ -180,8 +180,7 @@ char *get_dom_domid(struct xs_handle *h, const char *name) e = xs_directory(h, xth, "/local/domain", &num); - i = 0; - while (i < num) { + for (i = 0; (i < num) && (domid == NULL); i++) { asprintf(&path, "/local/domain/%s/name", e[i]); val = xs_read(h, xth, path, &len); free(path); @@ -192,12 +191,9 @@ char *get_dom_domid(struct xs_handle *h, const char *name) /* match! */ asprintf(&path, "/local/domain/%s/domid", e[i]); domid = xs_read(h, xth, path, &len); - free(val); free(path); - break; } free(val); - i++; } xs_transaction_end(h, xth, 0); -- 2.30.2